package jm.nj.demo10mian.demo03;
/*
* 计算1-n之间的和，使用递归完成
* */
public class Demo02DiGui {
    public static void main(String[] args) {
        int i = add(100);
        System.out.println(i);
        int k = dgAdd(100);
        System.out.println(k);

    }

    private static int dgAdd(int i) {
        if(i==1){
            return 1;
        }
        return i + dgAdd(i - 1);

    }

    /*
     * 定义一个方法,使用递归,计算1-n之间的和
     * n=5  5+4+3+2+1 = 15
     * 5+(5-1)+(4-1)+(3-1)+(2-1)=15
     * n+(n-1)+(n-2)+...+1
     * 递归结束的条件:加到1的时候结束
     * dgAdd(n-1):调用自己的目的获取下一个要加的数n-1
     */



    /*
     * 定义一个计算1-n之间和的方法
     * */
    private static int add(int i) {
        int sum = 0;
        for (int j = 1; j <=i ; j++) {
            sum += j;
        }
        return sum;
    }
}
